# frozen_string_literal: true

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: profile.proto

require 'google/protobuf'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("profile.proto", syntax: :proto3) do
    add_message "perftools.profiles.Profile" do
      repeated :sample_type, :message, 1, "perftools.profiles.ValueType"
      repeated :sample, :message, 2, "perftools.profiles.Sample"
      repeated :mapping, :message, 3, "perftools.profiles.Mapping"
      repeated :location, :message, 4, "perftools.profiles.Location"
      repeated :function, :message, 5, "perftools.profiles.Function"
      repeated :string_table, :string, 6
      optional :drop_frames, :int64, 7
      optional :keep_frames, :int64, 8
      optional :time_nanos, :int64, 9
      optional :duration_nanos, :int64, 10
      optional :period_type, :message, 11, "perftools.profiles.ValueType"
      optional :period, :int64, 12
      repeated :comment, :int64, 13
      optional :default_sample_type, :int64, 14
    end
    add_message "perftools.profiles.ValueType" do
      optional :type, :int64, 1
      optional :unit, :int64, 2
    end
    add_message "perftools.profiles.Sample" do
      repeated :location_id, :uint64, 1
      repeated :value, :int64, 2
      repeated :label, :message, 3, "perftools.profiles.Label"
    end
    add_message "perftools.profiles.Label" do
      optional :key, :int64, 1
      optional :str, :int64, 2
      optional :num, :int64, 3
      optional :num_unit, :int64, 4
    end
    add_message "perftools.profiles.Mapping" do
      optional :id, :uint64, 1
      optional :memory_start, :uint64, 2
      optional :memory_limit, :uint64, 3
      optional :file_offset, :uint64, 4
      optional :filename, :int64, 5
      optional :build_id, :int64, 6
      optional :has_functions, :bool, 7
      optional :has_filenames, :bool, 8
      optional :has_line_numbers, :bool, 9
      optional :has_inline_frames, :bool, 10
    end
    add_message "perftools.profiles.Location" do
      optional :id, :uint64, 1
      optional :mapping_id, :uint64, 2
      optional :address, :uint64, 3
      repeated :line, :message, 4, "perftools.profiles.Line"
      optional :is_folded, :bool, 5
    end
    add_message "perftools.profiles.Line" do
      optional :function_id, :uint64, 1
      optional :line, :int64, 2
    end
    add_message "perftools.profiles.Function" do
      optional :id, :uint64, 1
      optional :name, :int64, 2
      optional :system_name, :int64, 3
      optional :filename, :int64, 4
      optional :start_line, :int64, 5
    end
  end
end

module Perftools
  module Profiles
    Profile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("perftools.profiles.Profile").msgclass
    ValueType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("perftools.profiles.ValueType").msgclass
    Sample = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("perftools.profiles.Sample").msgclass
    Label = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("perftools.profiles.Label").msgclass
    Mapping = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("perftools.profiles.Mapping").msgclass
    Location = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("perftools.profiles.Location").msgclass
    Line = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("perftools.profiles.Line").msgclass
    Function = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("perftools.profiles.Function").msgclass
  end
end
